package com.ly.heart.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.ly.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 物料生产信息对象 erp_material_product
 *
 * @author wutao
 * @date 2024-07-04
 */
@TableName("erp_material_product")
@ApiModel(value = "erp_material_product对象", description = "物料生产信息")
@Data
public class MaterialProductEntity extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 物料生产id
     */
    @TableId(type = IdType.INPUT)
    private String id;

    /**
     * 物料id
     */
    @ApiModelProperty("物料id")
    @TableField("material_id")
    @Excel(name = "物料id")
    private String materialId;

    /**
     * 生产车间
     */
    @ApiModelProperty("生产车间")
    @TableField("f_work_shop_id")
    @Excel(name = "生产车间")
    private String fWorkShopId;

    /**
     * 生产单位
     */
    @ApiModelProperty("生产单位")
    @TableField("f_produce_unit_id")
    @Excel(name = "生产单位")
    private String fProduceUnitId;

    /**
     * 入库超收比例(%)
     */
    @ApiModelProperty("入库超收比例(%)")
    @TableField("f_finish_receipt_over_rate")
    @Excel(name = "入库超收比例(%)")
    private String fFinishReceiptOverRate;

    /**
     * 入库欠收比例(%)
     */
    @ApiModelProperty("入库欠收比例(%)")
    @TableField("f_finish_receipt_short_rate")
    @Excel(name = "入库欠收比例(%)")
    private String fFinishReceiptShortRate;

    /**
     * 生产类型
     */
    @ApiModelProperty("生产类型")
    @TableField("f_produce_bill_type")
    @Excel(name = "生产类型")
    private String fProduceBillType;

    /**
     * 组织间受托类型
     */
    @ApiModelProperty("组织间受托类型")
    @TableField("f_org_trust_bill_type")
    @Excel(name = "组织间受托类型")
    private String fOrgTrustBillType;

    /**
     * 生产线生产0否1是
     */
    @ApiModelProperty("生产线生产0否1是")
    @TableField("f_is_product_line")
    @Excel(name = "生产线生产0否1是")
    private String fIsProductLine;

    /**
     * 序列号携带到父项
     */
    @ApiModelProperty("序列号携带到父项")
    @TableField("f_is_s_n_carry_to_parent")
    @Excel(name = "序列号携带到父项")
    private String fIsSNCarryToParent;

    /**
     * 倒冲数量
     */
    @ApiModelProperty("倒冲数量")
    @TableField("f_back_flush_type")
    @Excel(name = "倒冲数量")
    private String fBackFlushType;

    /**
     * 发料方式
     */
    @ApiModelProperty("发料方式")
    @TableField("f_issue_type")
    @Excel(name = "发料方式")
    private String fIssueType;

    /**
     * 倒冲时机
     */
    @ApiModelProperty("倒冲时机")
    @TableField("FBKFLTime")
    @Excel(name = "倒冲时机")
    private String fbkfltime;

    /**
     * 发料仓库
     */
    @ApiModelProperty("发料仓库")
    @TableField("f_pick_stock_id")
    @Excel(name = "发料仓库")
    private String fPickStockId;

    /**
     * 发料仓位
     */
    @ApiModelProperty("发料仓位")
    @TableField("f_pick_bin_id")
    @Excel(name = "发料仓位")
    private String fPickBinId;

    /**
     * 超发控制方式
     */
    @ApiModelProperty("超发控制方式")
    @TableField("f_over_control_mode")
    @Excel(name = "超发控制方式")
    private String fOverControlMode;

    /**
     * 最小发料批量
     */
    @ApiModelProperty("最小发料批量")
    @TableField("f_minIssue_qty")
    @Excel(name = "最小发料批量")
    private Long fMinissueQty;

    /**
     * 最小发料批量单位
     */
    @ApiModelProperty("最小发料批量单位")
    @TableField("f_minIssue_unit_id")
    @Excel(name = "最小发料批量单位")
    private String fMinissueUnitId;

    /**
     * 领料考虑最小发料批量0否1是
     */
    @ApiModelProperty("领料考虑最小发料批量0否1是")
    @TableField("f_is_minIssue_qty")
    @Excel(name = "领料考虑最小发料批量0否1是")
    private String fIsMinissueQty;

    /**
     * 是否关键件0否1是
     */
    @ApiModelProperty("是否关键件0否1是")
    @TableField("f_is_kitting")
    @Excel(name = "是否关键件0否1是")
    private String fIsKitting;

    /**
     * 是否齐套件0否1是
     */
    @ApiModelProperty("是否齐套件0否1是")
    @TableField("f_is_complete_set")
    @Excel(name = "是否齐套件0否1是")
    private String fIsCompleteSet;

    /**
     * 默认产线
     */
    @ApiModelProperty("默认产线")
    @TableField("f_default_line_id")
    @Excel(name = "默认产线")
    private String fDefaultLineId;

    /**
     * 启用日排产0否1是
     */
    @ApiModelProperty("启用日排产0否1是")
    @TableField("f_is_enable_schedule")
    @Excel(name = "启用日排产0否1是")
    private String fIsEnableSchedule;

    /**
     * 子项单位
     */
    @ApiModelProperty("子项单位")
    @TableField("FBOMUnitId")
    @Excel(name = "子项单位")
    private String fbomunitid;

    /**
     * 消耗波动
     */
    @ApiModelProperty("消耗波动")
    @TableField("f_consum_volatility")
    @Excel(name = "消耗波动")
    private String fConsumVolatility;

    /**
     * 变动损耗率
     */
    @ApiModelProperty("变动损耗率")
    @TableField("FLOSSPERCENT")
    @Excel(name = "变动损耗率")
    private String flosspercent;

    /**
     * 固定损耗
     */
    @ApiModelProperty("固定损耗")
    @TableField("FFIXLOSS")
    @Excel(name = "固定损耗")
    private String ffixloss;

    /**
     * 可为主产品0否1是
     */
    @ApiModelProperty("可为主产品0否1是")
    @TableField("f_is_main_prd")
    @Excel(name = "可为主产品0否1是")
    private String fIsMainPrd;

    /**
     * 启用ECN
     */
    @ApiModelProperty("启用ECN")
    @TableField("FIsECN")
    @Excel(name = "启用ECN")
    private String fisecn;

    /**
     * 默认工艺路线
     */
    @ApiModelProperty("默认工艺路线")
    @TableField("f_default_routing")
    @Excel(name = "默认工艺路线")
    private String fDefaultRouting;

    /**
     * 标准工时
     */
    @ApiModelProperty("标准工时")
    @TableField("f_per_unit_stand_hour")
    @Excel(name = "标准工时")
    private String fPerUnitStandHour;

    /**
     * 工时单位
     */
    @ApiModelProperty("工时单位")
    @TableField("f_stand_hour_unit_id")
    @Excel(name = "工时单位")
    private String fStandHourUnitId;

    /**
     * 标准人员准备工时
     */
    @ApiModelProperty("标准人员准备工时")
    @TableField("f_std_labor_pre_pare_time")
    @Excel(name = "标准人员准备工时")
    private String fStdLaborPrePareTime;

    /**
     * 标准人员实作工时
     */
    @ApiModelProperty("标准人员实作工时")
    @TableField("f_std_labor_process_time")
    @Excel(name = "标准人员实作工时")
    private String fStdLaborProcessTime;

    /**
     * 标准机器准备工时
     */
    @ApiModelProperty("标准机器准备工时")
    @TableField("f_std_machine_prepare_time")
    @Excel(name = "标准机器准备工时")
    private String fStdMachinePrepareTime;

    /**
     * 标准机器实作工时
     */
    @ApiModelProperty("标准机器实作工时")
    @TableField("f_std_machine_process_time")
    @Excel(name = "标准机器实作工时")
    private String fStdMachineProcessTime;

    /**
     * 产品模型
     */
    @ApiModelProperty("产品模型")
    @TableField("f_mdl_id")
    @Excel(name = "产品模型")
    private String fMdlId;

    /**
     * 模型物料
     */
    @ApiModelProperty("模型物料")
    @TableField("f_mdl_material_id")
    @Excel(name = "模型物料")
    private String fMdlMaterialId;


    @ApiModelProperty("使用组织")
    @TableField("dept_id")
    @Excel(name = "使用组织")
    private String deptId;

    /**
     * 是否使用(1是0否)
     */
    @ApiModelProperty ( "是否使用(1是2否)" )
    @TableField (value = "is_used")
    @TableLogic
    @Excel ( name = "是否使用(1是2否)" )
    private Integer isUsed;
}
